<html>
	<head>
		<meta charset="utf-8"></meta>
		<title>BShortcut</title>
		<link href="./style.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
		<div class="class" name="BShortcut">
			<h1>BShortcut</h1>
			<p>继承自<a href="BObject.html">BObject</a></p>
			<p id="resume">BShortcut是快捷键类，可使用简单的按键组合快速调用特定的功能。<a href="#desc">详细</a></p>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right"/><td><a href="#BShortcut(BWidget*)">BShortcut</a>(BWidget* widget = 0);</td></tr>
				<tr><td align="right"/><td><a href="#BShortcut(const BString&,BWidget*)">BShortcut</a>(const BString& text, BWidget* widget = 0);</td></tr>
				<tr><td align="right"/><td><a href="#~BShortcut()">~BShortcut</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#setHost(BAction*)">setHost</a>(BAction* host);</td></tr>
				<tr><td align="right">BAction* </td><td><a href="#host() const">host</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setWidget(BWidget*)">setWidget</a>(BWidget* widget);</td></tr>
				<tr><td align="right">BWidget* </td><td><a href="#widget() const">widget</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setValue(const BValue&)">setValue</a>(const BValue& value);</td></tr>
				<tr><td align="right">const BValue&amp; </td><td><a href="#value() const">value</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setText(const BString&)">setText</a>(const BString& text);</td></tr>
				<tr><td align="right">const BString&amp; </td><td><a href="#text() const">text</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setKeys(const BKeyArray&)">setKeys</a>(const BKeyArray& keys);</td></tr>
				<tr><td align="right">const BKeyArray&amp; </td><td><a href="#keys() const">keys</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#clearKeys()">clearKeys</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#trigger()">trigger</a>();</td></tr>
			</table>
			<div id="desc">
				<h2>详细介绍：</h2>
				<p>BShortcut是快捷键类，可使用简单的按键组合快速调用特定的功能。快捷键可内置于行为（<a>BAction</a>）或按钮（<a>BButton</a>）来实现功能，在快捷键被激发时对应的行为对象的trigger()方法会被调用，对应的按钮的方法click()会被执行。快捷键也可以独立使用。</p>
				<p>当为快捷键设置按键组合时可以使用使用文本指定，也可以直接给定组合。<br/>setText("Alt+Q")，此语句会生成Key_Alt和Key_Q的组合，并使用此文本为提示语。<br/></p><pre>shortcut-&amp;amp;gt;setText("Alt+Q")</pre>
				<p>如上示例，此语句会生成Key_Alt和Key_Q的组合，并使用此文本为提示语。</p><pre>
					BKeyArray keys;
					keys &lt;&lt; Key_Alt &lt;&lt; Key_Q;
					shortcut-&gt;setKeys(keys);
				</pre>
				<p>如上示例中，直接为快捷键设置按键组合，此方法会改变快捷键对象的提示语文本。</p>
				<p>使用文本指定按键组合时使用‘+’连接若干按键名，其中按键名不区分大小写，如下是可使用的按键名称，由于数字和字母比较直观，所以下表不包含。</p><p>123456789</p><h4>按键对应表：</h4>
				<table id="str-key">
					<tr><td>alt</td><td>Key_Alt</td><td>按键LAlt或RAlt。</td></tr>
					<tr><td>lalt</td><td>Key_LAlt</td><td>左按键Alt。</td></tr>
					<tr><td>ralt</td><td>Key_RAlt</td><td>右按键Alt。</td></tr>
					<tr><td/></tr>
					<tr><td>ctrl</td><td>Key_Ctrl</td><td>左或右控制键。</td></tr>
					<tr><td>lctrl</td><td>Key_LCtrl</td><td>左控制键。</td></tr>
					<tr><td>rctrl</td><td>Key_RCtrl</td><td>右控制键。</td></tr>
					<tr><td/></tr>
					<tr><td>shift</td><td>Key_Shift</td><td>左或右切换键。</td></tr>
					<tr><td>lshift</td><td>Key_LShift</td><td>左切换键。</td></tr>
					<tr><td>rshift</td><td>Key_RShift</td><td>右银的键。</td></tr>
					<tr><td/></tr>
					<tr><td>num1</td><td>Key_Num1</td><td>小键盘数字键1。</td></tr>
					<tr><td>num2</td><td>Key_Num2</td><td>小键盘数字键2。</td></tr>
					<tr><td>num3</td><td>Key_Num3</td><td>小键盘数字键3。</td></tr>
					<tr><td>num4</td><td>Key_Num4</td><td>小键盘数字键4。</td></tr>
					<tr><td>num5</td><td>Key_Num5</td><td>小键盘数字键5。</td></tr>
					<tr><td>num6</td><td>Key_Num6</td><td>小键盘数字键6。</td></tr>
					<tr><td>num7</td><td>Key_Num7</td><td>小键盘数字键7。</td></tr>
					<tr><td>num8</td><td>Key_Num8</td><td>小键盘数字键8。</td></tr>
					<tr><td>num9</td><td>Key_Num9</td><td>小键盘数字键9。</td></tr>
					<tr><td>num0</td><td>Key_Num0</td><td>小键盘数字键0。</td></tr>
					<tr><td/></tr>
					<tr><td>f1</td><td>Key_F1</td><td>功能键F1。</td></tr>
					<tr><td>f2</td><td>Key_F2</td><td>功能键F2。</td></tr>
					<tr><td>f3</td><td>Key_F3</td><td>功能键F3。</td></tr>
					<tr><td>f4</td><td>Key_F4</td><td>功能键F4。</td></tr>
					<tr><td>f5</td><td>Key_F5</td><td>功能键F5。</td></tr>
					<tr><td>f6</td><td>Key_F6</td><td>功能键F6。</td></tr>
					<tr><td>f7</td><td>Key_F7</td><td>功能键F7。</td></tr>
					<tr><td>f8</td><td>Key_F8</td><td>功能键F8。</td></tr>
					<tr><td>f9</td><td>Key_F9</td><td>功能键F9。</td></tr>
					<tr><td>f10</td><td>Key_F10</td><td>功能键F10。</td></tr>
					<tr><td>f11</td><td>Key_F11</td><td>功能键F11。</td></tr>
					<tr><td>f12</td><td>Key_F12</td><td>功能键F12。</td></tr>
					<tr><td/></tr>
					<tr><td>tab</td><td>Key_Tab</td><td>制表符、缩进键。</td></tr>
					<tr><td>space</td><td>Key_Space</td><td>空格键。</td></tr>
					<tr><td>del/delete</td><td>Key_Delete</td><td>（向后）删除键。</td></tr>
					<tr><td>back</td><td>Key_Back</td><td>回退键、向前删除键。</td></tr>
					<tr><td>enter</td><td>Key_Enter</td><td>回车、换行键。</td></tr>
				</table><p>快捷键的执行需要键盘输入，也就需要依附于特定控件方可获得输入。</p><h4>信号表：</h4><table>
					<tr><td>Signal_ValueChanged</td><td>当值被改变时发出，值为：BValue value。</td></tr>
					<tr><td>Signal_TextChanged</td><td>当文本被改变时发出，值为：BString text。</td></tr>
					<tr><td>Signal_Triggered</td><td>当此快捷键功能被执行时发出，值为：BValue value。</td></tr></table>
			</div>
			<h2 id="docs">成员文档：</h2>
			<div id="BShortcut(BWidget*)">
				<h3>BShortcut(BWidget* widget = 0);</h3>
				<p>构造一个快捷键，widget指定依附控件。</p>
			</div>
			<div id="BShortcut(const BString&,BWidget*)">
				<h3>BShortcut(const BString&amp; text, BWidget* widget = 0);</h3>
				<p>构造一个快捷键，text指定按键搭配方案，widget指定依附控件。</p>
			</div>
			<div id="~BShortcut()">
				<h3>~BShortcut();</h3>
				<p>析构一个快捷键。</p>
			</div>
			<div id="setHost(BAction*)">
				<h3>void setHost(BAction* host);</h3>
				<p>设置此快捷键的关联行为对象。</p>
			</div>
			<div id="host() const">
				<h3>BAction* host() const;</h3>
				<p>获得此快捷键的关联的行为对象。</p>
			</div>
			<div id="setWidget(BWidget*)">
				<h3>void setWidget(BWidget* widget);</h3>
				<p>设置此快捷键的依附控件。</p>
			</div>
			<div id="widget() const">
				<h3>BWidget* widget() const;</h3>
				<p>获得此快捷键的依附控件。</p>
			</div>
			<div id="setValue(const BValue&)">
				<h3>void setValue(const BValue&amp; value);</h3>
				<p>设置此快捷键的值，此值将会与信号Signal_Triggered一起使用。</p>
			</div>
			<div id="value() const">
				<h3>const BValue&amp; value() const;</h3>
				<p>获得此快捷键的值。</p>
			</div>
			<div id="setText(const BString&)">
				<h3>bool setText(const BString&amp; text);</h3>
				<p>设置按键的搭配方案，从文本内容中提取使用的各个按键。此文本也会用作提示语。</p>
			</div>
			<div id="text() const">
				<h3>const BString&amp; text() const;</h3>
				<p>获得此快捷键的按键方案的文本。</p>
			</div>
			<div id="setKeys(const BKeyArray&)">
				<h3>bool setKeys(const BKeyArray&amp; keys);</h3>
				<p>设置按键的搭配方案。</p>
			</div>
			<div id="keys() const">
				<h3>const BKeyArray&amp; keys() const;</h3>
				<p>获得按键的搭配方案。</p>
			</div>
			<div id="clearKeys()">
				<h3>bool clearKeys();</h3>
				<p>清除按键组合数据，此方法也会清除文本。</p>
			</div>
			<div id="trigger()">
				<h3>void trigger();</h3>
				<p>调用此快捷键的功能，如果有关联的行为，那么行为也会被执行。</p>
			</div>
		</div>
	</body>
</html>